package edu.service;

import edu.vo.Course;

import java.util.List;
import java.util.Optional;

public interface CourseService {
    /**
     * 保存课程信息
     * @param course 课程对象
     * @return 保存后的课程对象
     */
    Course saveCourse(Course course);

    /**
     * 根据ID获取课程信息
     * @param id 课程ID
     * @return 课程对象的Optional包装
     */
    Optional<Course> getCourseById(Integer id);

    /**
     * 获取所有课程信息
     * @return 课程列表
     */
    List<Course> getAllCourses();

    /**
     * 根据ID删除课程信息
     * @param id 课程ID
     */
    void deleteCourseById(Integer id);

    /**
     * 更新课程信息
     * @param id 课程ID
     * @param course 新的课程信息
     * @return 更新后的课程对象
     */
    Course updateCourse(Integer id, Course course);
}